package com.dyzx.hbb.modules.sys.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
public class SysWorkDiscountVO {


    /**
     * 优惠名称（如："会员折扣"）
     */
    @NotNull(message = "优惠名称不能为空")
    @NotNull
     @Schema(description = "优惠名称（如：\"会员折扣\"）")
    private String name;

    /**
     * 优惠类型（1-折扣；2-减免）
     */
    @Schema(description = "优惠类型（1-折扣；2-减免）")
    @NotNull(message = "优惠类型不能为空")
    private Integer type;

    /**
     * 总金额（元）
     */
    @Schema(description = "总金额（元）")
    @NotNull(message = "总金额不能为空")
    private Long amt;

    /**
     * 外部客户ID（若为外部车辆维修）
     */
    @JsonProperty("customer_id")
    private Long customerId;


    /**
     * 关联工单ID
     */
   // @NotNull(message = "关联工单ID不能为空")

    @JsonProperty("order_id")
    private Long orderId;

    /**
     * 优惠开始
     */
    @NotNull(message = "优惠开始不能为空")
    @Schema(description = "优惠开始")
    @JsonProperty("start_date")
    private Long startDate;

    /**
     * 优惠结束
     */
    @NotNull(message = "优惠结束不能为空")
    @Schema(description = "优惠结束")
    @JsonProperty("end_date")
    private Long endDate;
     /**
     * 关联工单ID
     */
    @NotNull(message = "关联工单ID不能为空")
    @Schema(description = "关联工单ID")
    @JsonProperty("work_id")
     private Long workId;

    /**
     * 关联项目Type
     */
    @NotNull(message = "关联项目Type不能为空")
    @Schema(description = "关联项目Type")
    @JsonProperty("target_type")
    private Integer targetType;

}
